package com.example.dao;

import com.example.entity.Carts;
import com.example.entity.Params;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;

@Repository
public interface CartsDao extends Mapper<Carts> {

    /**
     * 根据用户ID查询购物车条目（carts 表）
     */
    @Select("SELECT * FROM carts WHERE user_id = #{userId}")
    List<Carts> findByUserId(@Param("userId") Integer userId);

    /**
     * 根据用户ID和商品ID查询购物车单条记录（示例）
     */
    @Select("SELECT * FROM carts WHERE user_id = #{userId} AND product_id = #{productId} LIMIT 1")
    Carts findByUserIdAndProductId(@Param("userId") Integer userId, @Param("productId") Integer productId);

    /**
     * 复合查询（如按时间范围、用户等）可使用 Params 在 XML 中实现
     */
    List<Carts> findBySearch(@Param("params") Params params);
}
